package com.talent.study.chain;

/**
 * @Author: hszhou
 * @Date: 2025/5/10 15:21
 * @Description: 必须描述类做什么事情, 实现什么功能
 */
public class Client {
    public static void main(String[] args) {
        AbstractHandler handlerA = new ConcreteHandlerA();
        AbstractHandler handlerB = new ConcreteHandlerB(); // 假设存在ConcreteHandlerB类，类似ConcreteHandlerA但处理TYPE_B的请求。
        handlerA.setHandler(handlerB); // 设置责任链中的下一个处理器。如果没有更多的处理器，则可以省略这一步。
        // 创建请求并处理。
        Request requestA = new Request();
        requestA.setType(RequestType.TYPE_A); // 或者 TYPE_B，取决于哪个处理器可以处理它。
        handlerA.handleRequest(requestA); // 开始处理请求。请求会根据类型被适当的处理器处理。
    }
}
